UReport2 是一款基于架构在 Spring 之上纯 Java 的高性能报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。在 UReport2 中,提供了全新的基于网页的报表设计器,可以在 Chrome、Firefox、Edge 等各种主流浏览器运行(IE 浏览器除外)。使用 UReport2,打开浏览器即可完成各种复杂报表的设计制作。
访问地址:http://IP:5006/ureport/designer
参考官方文档快速上手:UReport2 教程 和 UReport2 视频
在线报表设计会根据浏览器自动国际化,请确认浏览器 I18N 设置。
注意移除原有的 pigx-common-data 模块,避免依赖冲突。
配置文件:
Java 代码:
这里需要使用到上面步骤创建的内部数据源或者前端创建的数据源。
选择数据源:
此时列表里就会出现数据源:
在刚才选中的数据源右键,选择添加数据集。
这里选择上面步骤中初始化的用户表:
预览数据:
点击确定,保存数据集:
创建报表表头的位置:
表头内容:
操作完成之后,效果如下:
然后设置数据的标题行,跟表头设置一样,效果如下:
接下来设置数据:
其他字段同理,完成之后如下:
此时你可以尝试预览一下数据:
关掉,稍微美化一下:
此时数据虽然正常显示了,但是"是否可用"这一列显示 0/1 是否可以支持自定义呢?
再次预览:
顺带再把创建时间的数据格式也改一下:
修改后,预览数据如下:
点击保存之后,你本地在 application.yml 文件中配置的地址就会出现一个 demo.ureport.xml 文件。
下次可以直接通过 http://localhost:8080/demo/ureport/preview?_u=file:demo.ureport.xml 这个地址预览报表。
还记得我们上面新增数据集的时候,加的条件吗?现在用起来。
查询表单设计:
配置查询参数:
美化按钮:
再预览一下:
UReport2 最新版本是 2.2.9,已较久未更新。在报表设计页打开一个已存在的报表设计文件时,可能会出现无法预览的情况。
参考 Issue #393
条件表达式变成 undefined,这里需要注意的是,我们的 xml 文件是正常的,只不过是 ureport 解析的时候出错了。
点击编辑,重新选择表达式即可解决:
再次尝试预览:
该可能性出现在报表设计文件中使用了条件属性的情况下,修复方法就是打开文件之后,重新配置条件属性。最好的方法就是避免使用条件属性。